* Use a target property instead of CMAKE_C_FLAGS
It is a global property, which is not great when importing utf8proc in other CMake projects.
* Use target properties instead of add_definitions
It modifies builds settings globally, which is not great when using
the library as part of a bigger CMake build
* Expose header search path with target_include_directories
This makes it possible to use utf8proc in a larger CMake based project
with
add_subdirectory(utf8proc)
target_link_libraries(my_app utf8proc)
* more rebase fixes
set(SO_MINOR 2)
set(SO_PATCH 0)
-if (NOT MSVC)
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -std=c99 -pedantic -Wall")
-endif ()
-
add_library (utf8proc
utf8proc.c
utf8proc.h
)
+# expose header path, for when this is part of a larger cmake project
+target_include_directories(utf8proc PUBLIC ../utf8proc)
+
if (BUILD_SHARED_LIBS)
# Building shared library
else()
target_compile_definitions(utf8proc PRIVATE "UTF8PROC_EXPORTS")
+if (NOT MSVC)
+ set_target_properties(
+ utf8proc PROPERTIES
+ COMPILE_FLAGS "-O2 -std=c99 -pedantic -Wall"
+ )
+endif ()
+
set_target_properties (utf8proc PROPERTIES
POSITION_INDEPENDENT_CODE ON
VERSION "${SO_MAJOR}.${SO_MINOR}.${SO_PATCH}"